草庐IT

c++ - QML Qt openUrlExternally

全部标签

c++ - 组合算法

我想做一个简单的排序算法。给定输入“abcde”,我想要下面的输出。你能告诉我它的算法吗?arr[0]="a"arr[1]="ab"arr[2]="ac"arr[3]="ad"arr[4]="ae"arr[5]="abc"arr[6]="abd"arr[7]="abe"...arr[n]="abcde"arr[n+1]="b"arr[n+2]="bc"arr[n+3]="bd"arr[n+4]="be"arr[n+5]="bcd"arr[n+5]="bce"arr[n+5]="bde"...arr[n+m]="bcde"...... 最佳答案

c++ - 如何增加程序的内存分配

当我尝试在C程序中初始化一个大小为300*300*4的3D数组时,我的程序停止运行并报告堆栈溢出错误。我使用的系统有3GBRAM,应该足够了。有没有办法增加分配给程序的内存?我在WindowsVista上使用DevC++。 最佳答案 使用malloc()/free()(或new[]/delete[]C++),或全局数组,或局部静态数组。如果您尝试在函数内创建非静态数组,它会在堆栈上分配,并且堆栈通常不会很大。您也可以尝试向后初始化数组;一些操作系统在发生页面错误时动态地增加堆栈,并且由于在x86上堆栈在数字上向下增长,因此向后初始化

c++ - 是 。和 -> 在 C 和 C++ 中真的是运算符吗?

您可能一直在努力,自己也在努力,那.和->是运算符,用于检索结构(C)或类(C++)的成员。但是,我怀疑它们是运算符-因为,如果它们是运算符,它们的输入类型是什么?此外,两侧的标识符是相互依赖的-这是+运算符所缺乏的特征。如果这是正确的-在什么意义上这些在实践中仍然被标记为运算符,以及它们在语言理论方面的正式定义是什么。 最佳答案 您假设唯一可以作为参数传递给运算符的类型是可以在语言中定义的类型。我认为编译器可以识别的任何类型都可以作为参数传递,包括内部类型,例如“标识符”。该运算符在其AST表示中将有两个参数,这足以让您定义语义。

c++ - 是否有如此出色的 C 编译器,以至于 fortran 正在成为一种多余的语言?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。只是想知道,因为我一直认为Fortran用于super计算。但是,我经常听说C编译器可以使C与Fortran一样快,那么它的使用是否受到限制?此外,如果这是真的,那么最快的C编译器是什么?提前致谢。

c++ - const char myVar* 与 const char myVar[]

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Differencebetweenusingcharacterpointersandcharacterarrays有什么区别:constchar*myVar="HelloWorld!";constcharmyVar[]="HelloWorld!";如果有的话?

c++ - 为什么 GetLastError() 会根据调用方式返回 0 或 2?

我正在使用mingwg++4.6.1和-O0,WinXPSP2。Minimalworkingexampleishere.g++配置了--disable-sjlj-exceptions--with-dwarf2。GetLastError()根据抛出异常的方式返回0或2:throwruntime_error(error_message());伪造的“错误代码:0”被打印出来,并且conststringmsg=error_message();throwruntime_error(msg);按预期打印“错误代码:2”。首先,我认为GetLastError()被调用了两次,但调试显示它只被调用了

c++ - C/C++ 中单个参数(函数)中的多个参数

好吧,这个标题听起来可能有点含糊,但那是因为我不知道如何用不同的方式来表达它。我将尝试解释我的意思:在某些库中,'init'函数经常接受一些参数,但该参数随后接受多个参数(正确..)。一个例子,就像这样:apiHeader.h#defineAPI_FULLSCREEN0x10003003#defineAPI_NO_DELAY0x10003004#defineAPI_BLAH_BLAH0x10003005主.c:apiInit(0,10,10,2,API_FULLSCREEN|API_NO_DELAY|API_BLAH_BLAH);这是如何运作的?我无法在任何地方找到答案,很可能是因为我

c++ - 为什么 scanf 似乎跳过了输入?

我对以下程序中scanf的行为感到困惑。scanf似乎输入了一次,然后不再输入,直到打印出字符流。下面是一个C程序#includeintmain(){inti,j=0;do{++j;scanf("%d",&i);printf("\n\n%d%d\n\n",i,j);}while((i!=8)&&(j在这里,Tilliaminputinganyintegerprogramworksperfectlyfine,但是当输入一个字符时,它会继续打印i的最后输入值并且永远不会停止(直到循环退出时j为10)以便scanf接受下一个输入.output::1同样的事情也在C++中发生。#include

c++ - _r 后缀是什么意思?

我知道_r后缀用于表示线程安全的东西。例如strtok和strtok_r或libmysql.so和libmysql_r.so。但我在任何地方都找不到这到底意味着什么?例如,_t表示“类型”,_r后缀是什么意思? 最佳答案 请参阅http://pubs.opengroup.org/onlinepubs/000095399/xrat/xbd_chap04.html中的A.4.16线程安全章:Thesuffix"_r"ishistorical,wherethe'r'stoodfor"reentrant".

c++ - 将 A[i][j] 更改为 A[j][i] 时,遍历矩阵的速度变慢

这个问题在这里已经有了答案:c++2darrayaccessspeedchangesbasedon[a][b]order?[duplicate](5个答案)关闭9年前。我有一个名为A的int矩阵,当我按列而不是行迭代它时,它的运行速度慢了大约50毫秒:for(inti=0;i有谁知道为什么会这样?我问过几个人,但他们都不知道为什么。我确信这与地址在计算机内存中的表示方式有关,但我仍然想找到更具体的答案。